Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow kmt variable name of "mask" and different size netcdf 2d reads #985

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

anton-seaice
Copy link
Contributor

@anton-seaice anton-seaice commented Oct 18, 2024

PR checklist

  • Short (1 sentence) summary of your PR:
    This is two bits of tidy up in the grid infrastructure, to make further extensions easier. I'm doing this PR now so the changes are easier to review.
  • Developer(s):
    @anton-seaice
  • Suggest PR reviewers from list in the column to the right.
    @apcraig
  • Please copy the PR test results link or provide a summary of testing completed below.
    Still running, will update next week
  • How much do the PR code changes differ from the unmodified code?
    • bit for bit
    • different at roundoff level
    • more substantial
  • Does this PR create or have dependencies on Icepack or any other models?
    • Yes
    • No
  • Does this PR update the Icepack submodule? If so, the Icepack submodule must point to a hash on Icepack's main branch.
    • Yes
    • No
  • Does this PR add any new test cases?
    • Yes
    • No
  • Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/. A test build of the technical docs will be performed as part of the PR testing.)
    • Yes
    • No, does the documentation need to be updated at a later time?
      • Yes
      • No
  • Please document the changes in detail, including why the changes are made. This will become part of the PR commit log.

This change allows for a single processor read of netcdf variables that are not of size nx_global by ny_global. This is to make it easier to extent the ice_grid routines.

This changes allows the mask variable in the kmt netcdf file to be called "mask" instead of "kmc". Both options now work.

This change splits reading the mask and grid into seperate subroutines, so the routine can be reused independently later.

@anton-seaice anton-seaice marked this pull request as ready for review October 18, 2024 05:33
@apcraig
Copy link
Contributor

apcraig commented Oct 23, 2024

This all looks pretty reasonable. When you have test results and feel it's ready, let me know. I will run some independent testing, review, and merge. Thanks!

@anton-seaice
Copy link
Contributor Author

I ran the whole base_suite, i needed to extend the run-time for several tests ? And sometimes by quite a big increase in time.

The results were bit for bit / no regressions were found.

This is ready to merge from my perspective

@eclare108213
Copy link
Contributor

I ran the whole base_suite, i needed to extend the run-time for several tests ? And sometimes by quite a big increase in time.

@anton-seaice Were there corresponding runs with debugging flags on for any of the slow tests? Could there be NaNs in those cases?

@anton-seaice
Copy link
Contributor Author

Sorry - my comment wasn't clear!

I needed to increase the run-time for the tests both before and after the change. It was the tests with small core counts that seemed to be more affected, so I wonder if maybe our job scheduler is different or compiler options or something need adjusting. It's not related to this change.

@anton-seaice Were there corresponding runs with debugging flags on for any of the slow tests? Could there be NaNs in those cases?

It doesn't look like base_suite has tests where the only different between two tests is just debug.

@apcraig
Copy link
Contributor

apcraig commented Oct 25, 2024

I know some of the tests were timing out. If we add "short" and so forth to the test, we lose the regression testing because the case name changes. I can live with that but want to avoid doing that often. Lets go with it this time, but maybe we can think about whether there are other ways to set the requested queue time without it changing the casename in the future. I'll think about it too.

@apcraig apcraig mentioned this pull request Oct 25, 2024
18 tasks
@apcraig
Copy link
Contributor

apcraig commented Oct 28, 2024

Ran the quick suite on derecho with 6 compilers and all tests pass, tested done with #986 . Will merge this week, trying to merge fsd mods first.

@apcraig apcraig self-assigned this Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants